package com.bicon.botu.mall.component.service;


import com.baomidou.mybatisplus.service.IService;
import com.bicon.botu.mall.component.dto.BannerDto;
import com.bicon.botu.mall.component.entity.Banner;
import com.bicon.botu.core.base.common.entity.BaseResult;

import java.util.List;

/**
 * 轮播图 服务类
 *
 * @author 张凡
 * @date 2017/7/19 下午 14:49
 */
public interface IBannerService extends IService<Banner> {
    /**
     * 增加轮播图
     *
     * @param bannerModular  轮播图模块
     * @param bannerPosition 轮播图位置
     * @param banners        轮播图对象集合
     * @return
     */
    boolean insert(Integer bannerModular, Integer bannerPosition, List<Banner> banners);

    /**
     * 删除轮播图
     *
     * @param bannerModular  轮播图模块
     * @param bannerPosition 轮播图位置
     * @param idJson         轮播图Id集合
     * @return
     */
    BaseResult delete(Integer bannerModular, Integer bannerPosition, String idJson);

    /**
     * 修改轮播图
     *
     * @param bannerModular  轮播图模块
     * @param bannerPosition 轮播图位置
     * @param banners        轮播图对象集合
     * @return
     */

    BaseResult update(Integer bannerModular, Integer bannerPosition, List<Banner> banners);

    /**
     * 初始化轮播图到redis
     *
     * @param bannerModular  轮播图模块
     * @param bannerPosition 轮播图位置
     * @return
     */
    BaseResult initBannerToRedis(Integer bannerModular, Integer bannerPosition);

    /**
     * 获取轮播图详情
     *
     * @param bannerModular  轮播图模块
     * @param bannerPosition 轮播图位置
     * @return
     */
    List<BannerDto> getBannerDetailFromRedis(Integer bannerModular, Integer bannerPosition);

    /**
     * 修改排序
     *
     * @param bannerModular  轮播图模块
     * @param bannerPosition 轮播图位置
     * @param bannerId       轮播图id
     * @param operation      向上还是向下
     * @return
     */
    BaseResult bannerSort(Integer bannerModular, Integer bannerPosition, Integer bannerId, String operation);

}
